package com.ssyt.yt1.day9.abstractdemo.template;

/**
 * 模版模式
 * 
 * @author Administrator
 *
 */
public abstract class Car {

	protected abstract void start();

	protected abstract void alarm();

	protected abstract void stop();

	/**
	 * 模版（也就是一个准备好的执行流程！）
	 */
	protected void run() {
		start();
		if (isAlarm()) {
			alarm();
		}
		stop();
	}

	protected boolean isAlarm() {
		return true;
	}
}
